﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Justin.Service
{

    /// <summary>
    /// 服务单元
    /// 相当于codon
    /// 对应的是每一个服务
    /// </summary>
    interface IServiceCell
    {
        /// <summary>
        /// 插件的版本信息
        /// </summary>
        Version ServiceVersion { get; }

       /// <summary>
        /// 插件名字
       /// </summary>
        string ServiceName { get; }
        
        /// <summary>
        /// 插件名字
        /// </summary>
        Guid ServiceGuid { get; }

        /// <summary>
        /// 插件接口作为主id使用
        /// </summary>
        Type ServiceId { get; }

        /// <summary>
        /// 创建函数
        /// 这里面具体处理单例模式的对象和普通对象的创建
        /// </summary>
        /// <returns></returns>
        object CreateService(params object[] args);
    }
}
